﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TanmiaGrp.GeneralLedger.WinApp
{
    /// <summary>
    /// Representes the directions of navigation of pages, or entities.
    /// </summary>
    public enum NavigationMoveEnum
    {
        /// <summary>
        /// Indicate that this is first one.
        /// </summary>
        None = 0,

        First = 1,
        Previous = 2,
        Next = 3,
        Last = 4,

        /// <summary>
        /// Keey current Index indicator as is.
        /// Index indicator may be adjusted if TotalCount is changed.
        /// </summary>
        KeepCurrent
    }

    public enum Events
    {
        /// <summary>
        /// Occurs when GroupEditor view request from GroupEditor view to refresh browser.
        /// </summary>
        GroupBrowserRefresh = 0,

        /// <summary>
        /// Occurs when a view request to navigate to another view.
        /// Null to close current view.
        /// Event will be fired at MainWindowViewModel, whereas Parameter will be consumed at GroupView.xaml.cs.
        /// </summary>
        UpdateCurrentView = 1,

        /// <summary>
        /// Occurs when GroupEditorViewModel request from GroupBrowserViewModel to naviate to other record according to event parameter.
        /// </summary>
        GroupEntityNavigate = 2,

        /// <summary>
        /// Occurs when GroupBrowserViewModel request from GroupEditorViewModel to navigate to first record of new page.
        /// </summary>
        GroupPageNavigation = 3,

        /// <summary>
        /// Occurs when GroupBorswerBiewModel is initialized..
        /// </summary>
        GroupBrowserInitialized = 4,

        AccountPageNavigation,
        AccountBrowserInitialized,
        AccountEntityNavigation,
        AccountEntitySavedOrDeleted,
        FloatWindowShown,
        JournalEntitySavedOrDeleted,
        JournalEntityNavigation,
        JournalBrowserInitialized,
        JournalPageNavigation
    }
}
